﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using AcadPos.Entity;
using AcadPos.Data;

namespace AcadPos.Bussiness
{
    public class NGUsuario
    {
        #region Listar Usuários
        public DataTable listarUsuarios(string tpPesquisa, Usuario usuario)
        {
            if (tpPesquisa == string.Empty)
                throw new Exception("Tipo de pesquisa é obrigatório!");
            if (usuario == null)
                throw new Exception("Código ou nome do usuário é obrigatório!");
            return new DBUsuario().listarUsuarios(tpPesquisa, usuario);
        }
        #endregion

        #region Carregar Dados do Usuário
        public Usuario carregarDadosUsuario(int pCodigo)
        {
            if (pCodigo <= 0)
                throw new Exception("Código do usuário é obrigatório!");
            return new DBUsuario().carregarDadosUsuario(pCodigo);
        }
        #endregion

        #region Inserir Usuário
        public bool inserirUsuario(Usuario usuario, string usuarioLogado)
        {
            if (usuario == null)
                throw new Exception("Dados do usuário é obrigatório!");
            return new DBUsuario().inserirUsuario(usuario, usuarioLogado);
        }
        #endregion

        #region Alterar Usuário
        public bool alterarUsuario(Usuario usuario, string usuarioLogado)
        {
            if (usuario == null)
                throw new Exception("Dados do usuário é obrigatório!");
            return new DBUsuario().alterarUsuario(usuario, usuarioLogado);
        }
        #endregion

        #region Excluir Usuário
        public bool excluirUsuario(Usuario usuario, string usuarioLogado)
        {
            if (usuario == null)
                throw new Exception("Dados do usuário é obrigatório!");
            return new DBUsuario().excluirUsuario(usuario, usuarioLogado);
        }
        #endregion

        #region Obter Usuários do Menbership
        public DataTable obterUsuariosMenbership()
        {
            return new DBUsuario().obterUsuariosMenbership();
        }
        #endregion

        #region Bloquear Usuário
        public bool bloquearUsuario(string pUSerName)
        {
            return new DBUsuario().bloquearUsuario(pUSerName);
        }
        #endregion

        #region Desbloquear Usuário
        public bool desbloquearUsuario(string pUSerName)
        {
            return new DBUsuario().desbloquearUsuario(pUSerName);
        }
        #endregion

        #region Obter Estados Alocados por Usuário
        public DataTable obterEstadosXUsuario(int pCodUser)
        {
            return new DBUsuario().obterEstadosXUsuario(pCodUser);
        }
        #endregion

        #region Alocar Estado ao Usuário
        public bool alocarEstado(Estado estado, int pCodUser)
        {
            return new DBUsuario().alocarEstado(estado, pCodUser);
        }
        #endregion

        #region Excluir Estado alocado ao Usuário
        public bool excluirEstadoXUsuario(int pDataKey)
        {
            return new DBUsuario().excluirEstadoXUsuario(pDataKey);
        }
        #endregion

        #region Verifica se estado já foi alocado para determinado Usuário
        public bool verificaEstadoJaAlocado(int pCodUser, string pUF)
        {
            return new DBUsuario().verificaEstadoJaAlocado(pCodUser, pUF);
        }
        #endregion
    }
}
